#[derive(Debug)]
struct User {
    active: bool,
    username: String,
    email: String,
    sign_in_count: u64,
}
#[derive(Debug)]
struct Color(i32, i32, i32);
#[derive(Debug)]
struct Point(i32, i32, i32);
#[derive(Debug)]
struct AlwaysEqual;
fn main() {
    let subjcet = AlwaysEqual;
    println!("{:?}", subjcet);
    let mut user1 = User {
        email: String::from("hello.com"),
        active: true,
        username: String::from("姬霓太美"),
        sign_in_count: 123456,
    };
    user1.email = String::from("我是你的谁.com");
    // println!("{:?}", user1);
    test_fn(&mut user1);
    let user2 = User {
        username: String::from("马喽"),
        ..user1
    };
    println!("user2{:?}", user2);
    tuple();
}

fn test_fn(test: &mut User) {
    test.sign_in_count = 5;
    println!("{:?}", test);
}
fn tuple() {
    let black = Color(0, 0, 0);
    let origin = Point(0, 0, 0);
    println!("{:?}", black);
    println!("{:?}", origin);
}
